// pages/attractionsChoosePeople/attractionsChoosePeople.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    passengers: [
      {
        name: '张三',
        idCard: '32012119900101001X',
        phone: '138****8888',
        selected: true
      },
      {
        name: '李四',
        idCard: '32012119900101002Y',
        phone: '139****9999',
        selected: false
      }
    ]
  },

  onClickLeft(){
    wx.navigateBack();
  },
   // 正确更新 checkbox 状态
   togglePassenger(e) {
    console.log(e)
    const index = e.currentTarget.dataset.index;
    const newPassengers = [...this.data.passengers];
    newPassengers[index].selected = e.detail; // 接收 checkbox 的值
    this.setData({ passengers: newPassengers });
  },

  // 新增游客（跳转到添加页）
  addNewPassenger() {
    wx.navigateTo({
      url: '/pages/attractionsAddPassenger/attractionsAddPassenger'
    });
  },
  addPassengerToList(newPassenger) {
    this.setData({
      passengers: [...this.data.passengers, { ...newPassenger, selected: false }]
    });
  },

  submitSelectedPassengers() {
    const selectedPassengers = this.data.passengers.filter(p => p.selected);
    const pages = getCurrentPages();
    const prevPage = pages[pages.length - 2]; // 获取上一个页面
  
    if (!prevPage || prevPage.route !== 'pages/attractionsOrder/attractionsOrder') {
      wx.showToast({
        title: '页面错误',
        icon: 'none'
      });
      return;
    }
  
    const existingPassengers = prevPage.data.passengers; // 已存在的游客
    const maxPassengerCount = prevPage.data.totalNum; // 最大允许添加人数
    const selectedCount = selectedPassengers.length;
  
    // 检查是否超过最大人数限制
    if (existingPassengers.length + selectedCount > maxPassengerCount) {
      wx.showToast({
        title: '最多只能添加' + maxPassengerCount + '位游客',
        icon: 'none'
      });
      return;
    }
  
    // 检查是否有重复游客（基于身份证号）
    const existingIds = new Set(existingPassengers.map(p => p.idCard));
    const duplicate = selectedPassengers.some(p => existingIds.has(p.idCard));
  
    if (duplicate) {
      wx.showToast({
        title: '不可重复添加相同游客',
        icon: 'none'
      });
      return;
    }
  
    // 通过校验，更新订单页游客信息
    prevPage.updatePassengers(selectedPassengers);
  
    // 返回上一页
    wx.navigateBack();
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})